adonis.js mysql_Adonis.js——数据库基本操作

一、配置数据库

adonis支持 PostgreSQL,SQLite,MySQL,MariaDB,Oracle,MSSQL 数据库,默认为SQLite。在 config/database 中修改配置。

connection: Env.get('DB_CONNECTION', 'mysql'),

二、创建数据库模型(Model)

λ adonis make:model profile

√ create app\Models\Profile.js

大多数情况下我们无需修改模型文件。

三、创建迁移(migration)

数据库迁移是一种从代码创建,更改和删除数据库表而不是编写SQL查询的过程。

λ adonis make:migration profile

> Choose an action Create table

√ create database\migrations\1532938278888_profile_schema.js

选择Create table。

创建好了之后,在文件中定义表格的格式。

'use strict'

const Schema = use('Schema')

class ProfileSchema extends Schema {

up () {//创建时执行内容

this.create('profiles', (table) => {

table.increments() // id字段

//这里是手动添加的---------

table.string('userNick')

table.string('introduction')

table.integer('age')

//---------------------------------

table.timestamps()

})

}

down () {//回滚时执行内容

this.drop('profiles')

}

}

module.exports = ProfileSchema

创建好了之后执行

adonis migration:status

可以看到所有迁移的执行情况

┌──────────────────────────────┬──────────┬───────┐

│ File name │ Migrated │ Batch │

├──────────────────────────────┼──────────┼───────┤

│ 1503248427885_user │ No │ │

├──────────────────────────────┼──────────┼───────┤

│ 1503248427886_token │ No │ │

├──────────────────────────────┼──────────┼───────┤

│ 1532938278888_profile_schema │ No │ │

└──────────────────────────────┴──────────┴───────┘

可以看到所有迁移都还没有执行,数据库中也没有一个表。

四、执行迁移,创建表格

输入:

adonis migration:run

输出:

migrate: 1503248427885_user.js

migrate: 1503248427886_token.js

migrate: 1532938278888_profile_schema.js

Database migrated successfully in 509 ms

这时候再运行adonis migration:status就能看到所有迁移都在运行中。

五、填充数据

这里我们给user表格填充数据。

创建一个seeder:

λ adonis make:seed user

√ create database\seeds\UserSeeder.js

进入文件,添加要插入的数据,然后使用crateMany进行插入。

'use strict'

const Factory = use('Factory')

const user = use('App/Models/User')

class UserSeeder {

async run () {

const users = [

{username: '赫鲁晓夫',email:'hlxf@sl.com',password:'maize'},

{username: '勃列日涅夫',email:'blrnf@sl.com',password:'medal'}

]

await user.createMany(users)

}

}

module.exports = UserInfoSeeder

之后再在命令行运行

λ adonis seed --files UserSeeder.js

Seeded database in 67 ms

如果不加 --files UserSeeder.js 那么将执行seeds目录下的所有*Seeder.js文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值