platform/packages/orm/angel_migration/example/main.dart
2021-05-18 08:22:46 +08:00

42 lines
1,004 B
Dart

/// These are straightforward migrations.
///
/// You will likely never have to actually write these yourself.
library angel3_migration.example.todo;
import 'package:angel3_migration/angel3_migration.dart';
class UserMigration implements Migration {
@override
void up(Schema schema) {
schema.create('users', (table) {
table
..serial('id').primaryKey()
..varChar('username', length: 32).unique()
..varChar('password')
..boolean('account_confirmed').defaultsTo(false);
});
}
@override
void down(Schema schema) {
schema.drop('users');
}
}
class TodoMigration implements Migration {
@override
void up(Schema schema) {
schema.create('todos', (table) {
table
..serial('id').primaryKey()
..integer('user_id').references('users', 'id').onDeleteCascade()
..varChar('text')
..boolean('completed').defaultsTo(false);
});
}
@override
void down(Schema schema) {
schema.drop('todos');
}
}