sqflite_laravel_style_queries 1.0.4 copy "sqflite_laravel_style_queries: ^1.0.4" to clipboard
sqflite_laravel_style_queries: ^1.0.4 copied to clipboard

A flutter project to make sqflite easy queries

Sqflite Easy Query #

A new Flutter project for easy sqlite queries for beginner who did not know how to write queries.

Open Issues to Github #

🤔️ You can open issues to github repository

Important #

⚠️ If your version is below 0.0.8. You need to pass all values for update event id. Also you have to make every variable nullable in model class
⚠️ It is recommended to use version:1.0.0 or above

👉 Step One: Only for version below 0.0.8 Extend with AzSqflite and Add table name to Model Class #

you can compare with sample model class click here
Only for version:0.0.8 and below

  class UserDbModel extends AzSqflite{
    String tableName = 'users';
    .....
  }

👉 Step Second: Migrations #

You need to make table modifications queries as follow

▪ Example of create table #

Note: Primary key or autoincrement only use for one column in a table otheriwse you will get expectation
Note2: to create table atleast one column is required using method addColumn()
version:0.0.8 or Above

  await AzSqflite().table('users')
  .addColumn(name: "column_name_one", type: ColumnType.integer, isPrimaryKey: true, isAutoIncrement: true)
  .addColumn(name: "column_name_two", type: ColumnType.text, isNUll: true)
  .execute();

Below version:0.0.8

  await UserDbModel()
  .addColumn(name: "column_name_one", type: ColumnType.integer, isPrimaryKey: true, isAutoIncrement: true)
  .addColumn(name: "column_name_two", type: ColumnType.text, isNUll: true)
  .execute();

▪ Example of drop table #

A table can be drop by this method dropTable() version:0.0.8 or Above

  await AzSqflite().table('users').dropTable().execute();

Below version:0.0.8

  await UserDbModel().dropTable().execute();

▪ Example of add columns in table #

To add column to existing table you need to use method addColumn() version:0.0.8 or Above

  await AzSqflite().table('users')
  .addColumn(name: "column_name_three", type: ColumnType.text, isNUll: true)
  .execute();

Below version:0.0.8

  await UserDbModel()
  .addColumn(name: "column_name_three", type: ColumnType.text, isNUll: true)
  .execute();

▪ Example of delete column in table #

  // not supported yet

▪ Example of rename column in table #

renameColumn() method is use to rename column mame in a table version:0.0.8 or Above

  await AzSqflite().table('users')
  .renameColumn(oldName: "column_name_four", newName: "column_name_four")
  .execute();

Below version:0.0.8

  await UserDbModel()
  .renameColumn(oldName: "column_name_four", newName: "column_name_four")
  .execute();

👉 Step Third: Tables Supported Queries Actions #

Here are some sample queries that you can use

▪ Insert Record #

version:0.0.8 or Above

  AzSqflite().table('users').insert({"name": "name", "fatherName": "father"});

Below version:0.0.8

  UserDbModel(name: "name", fatherName: "father").insert();

▪ Update Record #

⚠️ You need to pass all values for update. But i will fix this issue soon version:0.0.8 or Above

  AzSqflite().table('users').where("id", 1).update({"name": "name", "fatherName": "father"});

Below version:0.0.8

  UserDbModel(id: 1, name: "name", fatherName: "father").where("id", 1).update();

▪ Delete Record #

version:0.0.8 or Above

  AzSqflite().table('users').where("id", 1).delete();

Below version:0.0.8

  UserDbModel().delete();

▪ Get Record #

version:0.0.8 or Above

  AzSqflite().table('users').get();

Below version:0.0.8

  UserDbModel().get();

▪ Count Record #

version:0.0.8 or Above

  AzSqflite().table('users').count();

Below version:0.0.8

  UserDbModel().count();

▪ Pluck Record #

version:0.0.8 or Above

  AzSqflite().table('users').pluck('column_name');

Below version:0.0.8

  UserDbModel().pluck('column_name');

👉 Step Four: Handle output of instance #

You can use get query instance as version:0.0.8 or Above

await AzSqflite().table('users').get().queryResult;

or

AzSqflite().table('users').get().queryResult.then((value){
    print(value);
});

Below version:0.0.8

await UserDbModel().get().queryResult;

or

UserDbModel().get().queryResult.then((value){
    print(value);
});

▪ Available Methods that can apply on Query #

version:0.0.8 or Above

    await AzSqflite().table('users')
        // .joining('INNER JOIN table_name_2 ON table_name.id = table_name_2.id')
        // .select(['id','column_name_one']) // select specific column
        // .whereBetween('id', ['1','10']) // accept only two values in array
        // .orWhereBetween('id', ['1','10']) // accept only two values in array
        // .whereIn('id', ['1','2','3'])
        // .orWhereIn('column_name_one', '1', operator: Operator.equal)
        // .whereNotIn('column_name_one', '1', operator: Operator.equal)
        // .where('column_name_one', '1', operator: Operator.equal)
        // .orWhere('column_name_one', '1', operator: Operator.equal)
        // .whereNull(column_name_one)
        // .orderBy('column_name_two', 'DESC')
        // .groupBy('column_name')
        // .skip(1)
        // .limit(2)
        // .page(2)
        .get();

Below version:0.0.8

    await UserDbModel()
        // .joining('INNER JOIN table_name_2 ON table_name.id = table_name_2.id')
        ...
        ...
        ...
        // .page(2)
        .get();

Regards,
Hassan Mehmood
https://zahidaz.com

5
likes
120
points
428
downloads

Publisher

verified publisherzahidaz.com

Weekly Downloads

A flutter project to make sqflite easy queries

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, path, sqflite, sqflite_common_ffi

More

Packages that depend on sqflite_laravel_style_queries