adonis.js mysql_Adonis.js——数据库基本操作
一、配置數(shù)據(jù)庫
adonis支持 PostgreSQL,SQLite,MySQL,MariaDB,Oracle,MSSQL 數(shù)據(jù)庫,默認為SQLite。在 config/database 中修改配置。
connection: Env.get('DB_CONNECTION', 'mysql'),
二、創(chuàng)建數(shù)據(jù)庫模型(Model)
λ adonis make:model profile
√ create app\Models\Profile.js
大多數(shù)情況下我們無需修改模型文件。
三、創(chuàng)建遷移(migration)
數(shù)據(jù)庫遷移是一種從代碼創(chuàng)建,更改和刪除數(shù)據(jù)庫表而不是編寫SQL查詢的過程。
λ adonis make:migration profile
> Choose an action Create table
√ create database\migrations\1532938278888_profile_schema.js
選擇Create table。
創(chuàng)建好了之后,在文件中定義表格的格式。
'use strict'
const Schema = use('Schema')
class ProfileSchema extends Schema {
up () {//創(chuàng)建時執(zhí)行內(nèi)容
this.create('profiles', (table) => {
table.increments() // id字段
//這里是手動添加的---------
table.string('userNick')
table.string('introduction')
table.integer('age')
//---------------------------------
table.timestamps()
})
}
down () {//回滾時執(zhí)行內(nèi)容
this.drop('profiles')
}
}
module.exports = ProfileSchema
創(chuàng)建好了之后執(zhí)行
adonis migration:status
可以看到所有遷移的執(zhí)行情況
┌──────────────────────────────┬──────────┬───────┐
│ File name │ Migrated │ Batch │
├──────────────────────────────┼──────────┼───────┤
│ 1503248427885_user │ No │ │
├──────────────────────────────┼──────────┼───────┤
│ 1503248427886_token │ No │ │
├──────────────────────────────┼──────────┼───────┤
│ 1532938278888_profile_schema │ No │ │
└──────────────────────────────┴──────────┴───────┘
可以看到所有遷移都還沒有執(zhí)行,數(shù)據(jù)庫中也沒有一個表。
四、執(zhí)行遷移,創(chuàng)建表格
輸入:
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就能看到所有遷移都在運行中。
五、填充數(shù)據(jù)
這里我們給user表格填充數(shù)據(jù)。
創(chuàng)建一個seeder:
λ adonis make:seed user
√ create database\seeds\UserSeeder.js
進入文件,添加要插入的數(shù)據(jù),然后使用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 那么將執(zhí)行seeds目錄下的所有*Seeder.js文件。
總結(jié)
以上是生活随笔為你收集整理的adonis.js mysql_Adonis.js——数据库基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 掌跖脓疱病咋治
- 下一篇: jax rs mysql_Jersey