Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 1.58 KB

migration.md

File metadata and controls

74 lines (59 loc) · 1.58 KB

Migration

back

Table of Contents

Introduction

Use ducere command
ducere make migration

ducere make migration createUsersTable
>> migrations/migration{datetime}createUsersTable.nim

and updated /migrations/migrate.nim automatically.

To run migration, run migrate.nim

nim c -r migrations/migrate

Example

You have sample migration file.

mirations/migration0001.nim

import json, strformat
import allographer/schema_builder
import allographer/query_builder

proc migration0001*() =
  # Create table schema
  schema([
    table("sample_users", [
      Column().increments("id"),
      Column().string("name"),
      Column().string("email")
    ])
  ])

  # Seeder
  var users: seq[JsonNode]
  for i in 1..10:
    users.add(%*{
      "id": i,
      "name": &"user{i}",
      "email": &"user{i}@nim.com"
    })
  RDB().table("sample_users").insert(users)

migrations/migrate.nim

import migration0001

proc main() =
  migration0001()

main()

If you don't need to create sample users table, delete migration0001() from migrations/migrate.nim

More details of Schema Builder and Query Builder is in allographer documents.
Schema Builder
Query Builder