diff --git a/lib/CF/Schema/Result/Announcement.pm b/lib/CF/Schema/Result/Announcement.pm
index 97b05ab1a19e2de892e869abbc3ba41bd0ae9621..97c415941a900a49663545b6e78e3bc6d2eaf551 100644
--- a/lib/CF/Schema/Result/Announcement.pm
+++ b/lib/CF/Schema/Result/Announcement.pm
@@ -18,10 +18,9 @@ __PACKAGE__->add_columns(
     },
     qw(
         datetime
-        is_archived
+        deleted
         user_id
         type
-        state
         content
         link
         related_post_id
@@ -32,4 +31,18 @@ __PACKAGE__->set_primary_key('id');
 
 1;
 
+sub format {
+    my $self = shift;
 
+    my $announcement = {
+        id              => $self->id,
+        datetime        => $self->datetime,
+        type            => $self->type,
+        content         => $self->content,
+        link            => $self->link,
+        related_post_id => $self->related_post_id,
+    };
+
+    return $announcement;
+
+}
diff --git a/sql/3/up.sql b/sql/3/up.sql
index 7c84966c1bfc627639cab09895bde5e1d5861d1c..87aa61b36cc1e8132021cb97b6785bb449145597 100644
--- a/sql/3/up.sql
+++ b/sql/3/up.sql
@@ -1,7 +1,7 @@
 create table "announcements" (
     "id" integer not null default nextval('uid_seq'),
     "datetime" timestamp(0) not null default now(),
-    "is_archived" bool not null default 'false',
+    "deleted" timestamp(0),
     "user_id" integer,
     "type" integer not null,
     "content" text,