Creating a schema in Cassandra using Phantom Scala DSL -


i have written code

case class user(id: int, gender: string, age: int, occupation: string, zipcode: string)  object defaults {   val hosts = seq("172.17.0.9")   val connector = contactpoints(hosts).keyspace("movies") }  class mydatabase(val keyspace: keyspacedef) extends com.websudos.phantom.db.databaseimpl(keyspace) {   object users extends users keyspace.connector }  object mydatabase extends mydatabase(defaults.connector) class users extends cassandratable[users, user] {   object id extends intcolumn(this) partitionkey[int]   object age extends intcolumn(this) index[int]   object gender extends stringcolumn(this) index[string]   object occupation extends stringcolumn(this) index[string]   object zipcode extends stringcolumn(this) index[string]    def fromrow(row: row) : user = {     user(       row(id),       row(gender),       row(age),       row(occupation),       row(zipcode)     )   } }  object users extends users rootconnector {   def store(user: user) : future[resultset] = {     insert       .value(_.id, user.id)       .value(_.gender, user.gender)       .value(_.age, user.age)       .value(_.occupation, user.occupation)       .value(_.zipcode, user.zipcode)       .consistencylevel_=(consistencylevel.all)       .future()   }    def getbyid(id: int) : future[option[user]] = {     select.where(_.id eqs id).one()   } } 

but when compile errors.

object creation impossible, since member session: session in  com.websudos.phantom.connectors.rootconnector not defined; member space:  keyspace in com.websudos.phantom.connectors.rootconnector not defined. 

i see other errors

[error] /users/u/myprojects/src/main/scala-2.11/com/abhi/movielensdatapreperation.scala:180: com.websudos.phantom.dsl.row not take parameters [error]       row(id), [error]          ^ [error] /users/u/myprojects/src/main/scala-2.11/com/abhi/movielensdatapreperation.scala:181: com.websudos.phantom.dsl.row not take parameters [error]       row(gender), [error]          ^ [error] /users/u/myprojects/src/main/scala-2.11/com/abhi/movielensdatapreperation.scala:182: com.websudos.phantom.dsl.row not take parameters [error]       row(age), [error]          ^ [error] /users/u/myprojects/src/main/scala-2.11/com/abhi/movielensdatapreperation.scala:183: com.websudos.phantom.dsl.row not take parameters [error]       row(occupation), [error]          ^ [error] /users/u/myprojects/src/main/scala-2.11/com/abhi/movielensdatapreperation.scala:184: com.websudos.phantom.dsl.row not take parameters [error]       row(zipcode) [error]          ^ [error] 5 errors found [error] (compile:compileincremental) compilation failed 

since you've defined id, gender, age, etc columns, should extract values row this:

def fromrow(row: row) : user = {   user(     id(row),     gender(row),     age(row),     occupation(row),     zipcode(row)   ) } 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -