Coder Social home page Coder Social logo

sqlable's Introduction


Version Author Build Passing Swift
Platforms MIT
Cocoapods Carthage SPM

๐Ÿต Introduction

Sqlable is a tiny library for ORM written in Swift.

๐Ÿ“‹ Requirements

  • iOS 8.0+
  • macOS 10.10+
  • tvOS 9.1+
  • watchOS 2.2+
  • Xcode 9.0+ with Swift 4.0+

๐Ÿ“ฒ Installation

Sqlable is available on CocoaPods:

use_frameworks!
pod 'Sqlable'

โค๏ธ Contribution

You are welcome to fork and submit pull requests.

๐Ÿ”– License

Sqlable is open-sourced software, licensed under the MIT license.

๐Ÿ’ซ Usage

First, create a model:

struct User {
  var name: String
}

then, extend the model to confirm Sqlable protocol:

extension User: Sqlable {

}

and, we need to create the database columns:

extension User: Sqlable {
    // create your columns:

    static let id = SQLColumn("id", .integer, PrimaryKey(autoincrement: true))
    static let name = SQLColumn("name", .text)
    static var tableLayout: [SQLColumn] = [id, name]

    // implement there two functions:

    func valueForColumn(_ column: SQLColumn) -> SQLValue? {
        switch column {
        case User.name:
            return self.name
        default:
            return nil
        }
    }

    init(row: SQLReadRow) throws {
        name = try row.get(User.name)
    }
}

now, get your database:

let doc = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let database = try SQLiteDatabase.init(filepath: doc.appendingPathComponent("User.db").path)

create table if not exists:

try database.create(table: User.self)

do your work, let's insert for example:

try user.insert(into: database)

query:

try User.query(in: database)

sqlable's People

Contributors

meniny avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.